#include <iostream>


class Singleton{
  public:
    static Singleton* GetInstance();
    
    void Print(){
      printf("hello Singleton\n");
    }
  private:
    Singleton();
    static Singleton* sig_;
};

Singleton* Singleton::GetInstance(){
  return sig_;
}

Singleton* Singleton::sig_=new Singleton();

Singleton::Singleton(){

}

int main(){
  Singleton* s=Singleton::GetInstance();
  s->Print();
  return 0;

}
